The present invention relates to an image forming method and apparatus, and more particularly to an image forming method and apparatus having bit map areas for a plurality of pages.
A conventional page printer having a general purpose interface receives printing data described in a page description language from a host computer and stores the printing data in an input buffer. The printing data read out from the input buffer is subject to analysis and command processing to generate character patterns and figure patterns. The generated patterns are rendered in a bit map area as image data. Subsequently, the content of the bit map area is formed on a recording medium such as a recording paper as a visual image. Thus printing is performed.
Typically, printing can be performed if a bit map area has the capacity of a sheet (a page) of recording paper. That is, first page data is rendered in the bit map area and then printed. Subsequently, second page data is rendered in the same bit map area and then printed. The above processing is repeated to obtain visual images. However, in fact, many printers have a plurality of bit map areas for a plurality of pages, instead of a single bit map area, to perform high-speed printing. The high-speed printing can be performed by a plurality of bit map areas because of the following reasons:
(1) While the time for the mechanical operations by the printer is constant to print a page of data, the process time of the printing data by the CPU increases as the number of printing pages increases. If plural bit map areas exist, then, data of pages which do not need much time for data processing are rendered in the second and third bit map areas without waiting for printing and paper ejection. Thus, the CPU can avoid waiting for the end of the printing because of a shortage of memory. PA1 (2) In the case of double-sided printing, in order to print at a high speed, the printing order of pages in the printer needs to be different from the physical order of pages of a document because of the paper feeding structure of the printer engine. For example, a first page of a document is printed on the front sided of a first recording paper, and next the third page of the document is printed on the first sided of the second recording paper. Then, the first recording paper is reversed, the second page of the document is printed on the reversed-side and the first recording paper is ejected. Subsequently, the fifth page of the document is printed on the front sided of the third recording paper. The second recording paper is reversed, the fourth page of the document is printed on the reversed-side and the second printing paper is ejected. Subsequently, the seventh page of the document is printed on the front sided of the fourth recording paper. Thus the printing is continued.
The printer can perform the double-sided printing at the highest speed in the above-described process. If the paper transferring and reversing are performed so that the document is sequentially printed from the first page in the physical order of pages of the document, the printing speed decrease considerably. However, when the printing is performed by the above-described process, bit map areas for at least three pages are required since the printing data is transmitted from the host computer in the order from the first page of the document.
As described above, if a large capacity RAM is available, an apparatus having a plurality of bit map areas can be produced. In this case, however, each of the bit map areas requires a relatively large RAM area, resulting in increasing cost of the entire printer.
The RAM area includes, for example, areas used as a cache memory which stores, e.g. font data developed in advance and a storage area which temporarily stores other data used for various processings. The efficiency of using the limited memory resource changes in dependence on the data content. However, in the conventional printer, the capacity of a bit map area is set to a constant value by turning on the power to the printer, or an operation of a panel on the printer or a command from an external host computer. In any case, the subsequent processing is performed based on the set capacity value regardless of the content of the printing data. Accordingly, there is a problem in that the number of bit map areas may be more than needed or less than needed, and thereby the area available as a cache may be is smaller than needed.